package com.wanxi.dao;

import com.wanxi.model.Brand;

import java.security.spec.ECField;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class BrandDao {
    private static List<Brand> list = new ArrayList<>();

    static {
        list.add(Brand.builder()
                .id(1)
                .brandName("1三只松鼠")
                .enterPriseName("1三只松鼠")
                .sort(11)
                .brandIntroduce("1三只松鼠,好吃不上火")
                .enable(1)
                .build());
        list.add(Brand.builder()
                .id(2)
                .brandName("2三只松鼠")
                .enterPriseName("2三只松鼠")
                .sort(22)
                .brandIntroduce("2aa三只松鼠,好吃不上火")
                .enable(0)
                .build());
        list.add(Brand.builder()
                .id(3)
                .brandName("3三只松鼠")
                .enterPriseName("3三只松鼠")
                .sort(33)
                .brandIntroduce("3三只松鼠,好吃不上火")
                .enable(1)
                .build());
    }

    public List<Brand> getList(Brand brand) {
//        List<Brand> temp = new ArrayList<>();
//        for (int i = 0; i < list.size(); i++) {
//            if (list.get(i).getBrandName().contains(brand.getBrandName())) {
//                temp.add(list.get(i));
//            }
//            if (brand.getBrandName() == null) {
//                return list;
//            }
//        }
////        list.stream().filter((name,name1)->name.equals(name1));
//        return temp;
        return list;
    }

    public int add(Brand brand) {
//        拿到list的最后一条，id+1
        try {
//            int a = 10 / 0;
            if (list.size() != 0) {
                brand.setId(list.get(list.size() - 1).getId() + 1);
            } else {
                brand.setId(1);
            }

            list.add(brand);
            return 1;
        } catch (Exception e) {
            return 0;
        }

    }

    public int delete(Brand brand) {
        Iterator<Brand> iterator = list.iterator();
        while (iterator.hasNext()) {
            if (iterator.next().getId().equals(brand.getId())) {
                iterator.remove();
            }
        }
//        for (int i = 0; i < list.size(); i++) {
//            if (list.get(i).getId().equals(brand.getId())) {
//                list.remove(i);
//            }
//        }
        return 1;
    }

    public Brand findById(Brand brand) {
        for (Brand model : list
        ) {
            if (model.getId().equals(brand.getId())) {
                return model;
            }
        }
        return null;
    }

    public int update(Brand brand) {
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).getId().equals(brand.getId())) {
                list.set(i, brand);
            }
        }
        return 1;
    }
}
